home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / games / hexrev / hexrev.h < prev    next >
C/C++ Source or Header  |  2000-06-25  |  2KB  |  84 lines

  1. /***************************************************
  2.  
  3.     hexrev.h : 六角リバーシゲームだよ
  4.  
  5.                 Copyright (C) 1997 by Makoto Hiroi
  6.  
  7.  
  8.     盤面の座標(1次元配列で表す)
  9.  
  10.              0 1 2 3 4 5
  11.             6  7  8  9  10  11  12
  12.           13  14  15  16  17  18  19  20
  13.         21  22  23  24  25  26  27  28  29
  14.       30  31  32  33  34  35  36  37  38  39
  15.     40  41  42  43  44  45  46  47  48  49  50
  16.       51  52  53  54  55  56  57  58  59  60
  17.         61  62  63  64  65  66  67  68  69
  18.           70  71  72  73  74  75  76  77
  19.             78  79  80  81  82  83  84
  20.               85  86  87  88  89  90
  21.  
  22. ****************************************************/
  23.  
  24. #include    <stdio.h>
  25. #include    <stdlib.h>
  26. #include    <time.h>
  27. #include    <limits.h>
  28. #include    <string.h>
  29. #include    <sys/dos.h>
  30. #include    <sys/iocs.h>
  31.  
  32. #define    TRUE    1
  33. #define    FALSE    0
  34.  
  35. #define    SIZE    91        /* 盤面の大きさ */
  36. #define    BLACK    0        /* 黒駒 */
  37. #define    WHITE    1        /* 白駒 */
  38. #define    FREE    2        /* 駒なし */
  39.  
  40. #define    HUMAN    5        /* 人間側の手番 */
  41. #define    COM    6        /* コンピュータ側の手番 */
  42. #define    DIR    6        /* 駒を返す方向 */
  43.  
  44. #define    PASS    (-1)    /* パスした場合 */
  45. #define    START    (-2)    /* 対局をクリックした場合 */
  46.  
  47. #define    MAX_VALUE    100000
  48. #define    MIN_VALUE    (-100000)
  49. #define    NO_VALUE    INT_MAX
  50. #define    MAX_LIMIT   (MAX_VALUE + 100)
  51. #define    MIN_LIMIT   (MIN_VALUE - 100)
  52. #define    PUT_BLACK   1
  53. #define    PUT_WHITE   2
  54.  
  55. /* 盤面の状態を表す構造体 */
  56. typedef struct {
  57.     char    board[SIZE + 1];    /* 盤面(4 で割り切れる用にするため 1 を足す) */
  58.     int        white;                /* 白駒の数 */
  59.     int        black;                /* 黒駒の数 */
  60. } STATE;
  61.  
  62. /********** 関数定義 **********/
  63.  
  64. /* think.c */
  65. void    init_data(void);
  66. int        check_move(int piece);
  67. int        reverse_piece(int num, int piece, char *buffer );
  68. int        result_value(int flag);
  69. int        select_move(int turn, int level);
  70. int        get_postion(int x, int y);
  71.  
  72. /* graph.c */
  73. void    draw_piece(int num, int piece);
  74. void    print_level(void);
  75. void    print_move(void);
  76. void    init_screen(void);
  77. void    print_stones(void);
  78. /* reversi.c */
  79. void    wait(void);
  80. volatile void    quit(void);
  81.  
  82. /* end of file */
  83.  
  84.